package com.siblings.loan.utils.helper

import com.lib.base.utils.SPUtils
import com.siblings.loan.config.SibConfigs

/**
 * Siblings
 * @Author wwdeng
 * @CreateTime: 2024/7/04 13:47
 * @Annotation：SharedPreferences 数据存取帮助类
 */
object SharedHelper {

    /**
     * SharedPreferences 保存 KEY
     */
    object SIB_SPKEY{
        
        /**
         * App 转发时区 Key
         */
        const val SIBLINGS_TIMEZONE = "${SibConfigs.SIB_APPNAME}_TimeZone"
        
        /**
         * App 转发时区 区号  Key
         */
        const val SIBLINGS_TIMEZONE_CODE = "${SibConfigs.SIB_APPNAME}_TimeZone_Code"

        /**
         * 业务APP 配置请求
         */
        const val SIBLINGS_COMMON = "${SibConfigs.SIB_APPNAME}_Common"

        /**
         * 用户登录状态
         */
        const val SIBLINGS_LOGIN = "${SibConfigs.SIB_APPNAME}_isLogin"

        /**
         * 用户id（userId）
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val SIBLINGS_USERID = "${SibConfigs.SIB_APPNAME}_UserId"

        /**
         * 用户Token
         * 登录接口获取 VH7vqSZFdCIj0qGuSRAZw
         */
        const val SIBLINGS_TOKEN = "${SibConfigs.SIB_APPNAME}_Token"

        /**
         * 用户号码
         * 登录页面获取
         */
        const val SIBLINGS_MOBILE = "${SibConfigs.SIB_APPNAME}_Mobile"

        /**
         * 是否是渠道用户
         * 登录接口获取
         */
        const val SIBLINGS_IS_ADSOURCE = "${SibConfigs.SIB_APPNAME}_isAdSource"

        /**
         * 用户流程状态
         */
        const val SIBLINGS_PROCESS = "${SibConfigs.SIB_APPNAME}_Process"

        /**
         * Active Dialog Show Num
         */
        const val SIBLINGS_DIALOG_ACTIVE_NUM = "${SibConfigs.SIB_APPNAME}_Dialog_Active_Num"

        /**
         * Normal Dialog Show Num
         */
        const val SIBLINGS_DIALOG_NORMAL_NUM = "${SibConfigs.SIB_APPNAME}_Dialog_Normal_Num"

        /**
         * Guide Dialog
         */
        const val SIBLINGS_DIALOG_GUIDE = "${SibConfigs.SIB_APPNAME}_Dialog_Guide"
    }

    /**
     * 保存数据
     */
    fun saveSibSPData(key: String,value: Any){
        SPUtils.put(key,value)
    }

    /**
     * 获取String
     */
    fun getSibSPString(key: String): String{
        return SPUtils.getString(key)
    }

    /**
     * 获取boolean
     */
    fun getSibSPBoolean(key: String): Boolean{
        return SPUtils.getBoolean(key,false)
    }

    /**
     * 获取Int
     */
    fun getSibSPInt(key: String): Int{
        return SPUtils.getInt(key,0)
    }

    /**
     * 移除指定内容
     */
    fun removeSibData(key: String){
        SPUtils.remove(key)
    }
}